
/**
 * 计算时间差，得出结果是，*分钟 、 *小时前、昨天、前天、3天前
 * @param {Object} date
 */
function date_diff(date1, date2) {

	var date3=date1.getTime()-date2.getTime()  //时间差的毫秒数
	
	//计算出相差天数
	var days=Math.floor(date3/(24*3600*1000))
	if(days >= 1){
		if(days == 1){
			return "昨天";
		} else if(days == 2){
			return "前天";
		} else {
			return (date2.getMonth()+1) + "-" + date2.getDate();
		}
	}
	//计算出小时数
	var leave1=date3%(24*3600*1000)    //计算天数后剩余的毫秒数
	var hours=Math.floor(leave1/(3600*1000))
	if(hours > 1){
		return hours + "小时前";
	}
	//计算相差分钟数
	var leave2=leave1%(3600*1000)        //计算小时数后剩余的毫秒数
	var minutes=Math.floor(leave2/(60*1000))
	if(minutes > 1){
		return minutes + "分钟前";
	} else {
		return "刚刚";
	}
}

/** 
 * 对Date的扩展，将 Date 转化为指定格式的String 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符， 
 * 年(y)可以用 1-4 个占位符，毫秒(S)只能用 1 个占位符(是 1-3 位的数字) 例子： (new 
 * Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 (new 
 * Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18 
 */  
Date.prototype.Format = function(fmt) {  
    var o = {  
        "M+" : this.getMonth() + 1, // 月份  
        "d+" : this.getDate(), // 日  
        "H+" : this.getHours(), // 小时  
        "m+" : this.getMinutes(), // 分  
        "s+" : this.getSeconds(), // 秒  
        "q+" : Math.floor((this.getMonth() + 3) / 3), // 季度  
        "S" : this.getMilliseconds()  
    // 毫秒  
    };  
    if (/(y+)/.test(fmt)) {  
        fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "")  
                .substr(4 - RegExp.$1.length));  
    }  
    for ( var k in o) {  
        if (new RegExp("(" + k + ")").test(fmt)) {  
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k])  
                    : (("00" + o[k]).substr(("" + o[k]).length)));  
        }  
    }  
    return fmt;  
}  